#!/usr/bin/env bash

# Copyright 2019 Datawire. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License

set -o errexit
set -o nounset

if ! [[ -d /tmp/getambassador.io/public ]]; then
	echo "[${0##*/}] skipping: website preview was not built"
	exit 0
fi

set -o verbose

npm install netlify-cli -g

netlify deploy \
	--dir="/tmp/getambassador.io/public" \
	--message="ambassador.git preview ${CIRCLE_JOB#website-} ${CIRCLE_BUILD_URL}" \
	--site=1d6f5395-6386-49af-8b47-e85aa28488f8 \
	--auth="${NETLIFY_AUTH_TOKEN}" \
	--json \
	> /tmp/netlify-deploy.json

cat /tmp/netlify-deploy.json

cat >/tmp/github-status.json <<EOF
{
  "context": "website-preview/${CIRCLE_JOB#website-}",
  "state": "success",
  "target_url": $(jq .deploy_url </tmp/netlify-deploy.json),
  "description": "Website preview"
}
EOF

curl --fail \
	-H "Accept: application/json" \
	-H "Content-Type: application/json" \
	-X POST \
	--data '@/tmp/github-status.json' \
	"https://${GH_TOKEN}@api.github.com/repos/datawire/${CIRCLE_PROJECT_REPONAME}/statuses/${CIRCLE_SHA1}"
